package com.beiding.workordersystem.orders.looporder.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.beiding.workordersystem.orders.looporder.entity.Company;
import com.beiding.workordersystem.orders.looporder.entity.LoopOrder;
import com.beiding.workordersystem.orders.looporder.entity.LoopProcess;
import com.beiding.workordersystem.orders.looporder.model.OrderModel;
import com.beiding.workordersystem.orders.looporder.query.LoopOrderQuery;
import com.beiding.workordersystem.orders.looporder.query.LoopProcessQuery;

import java.util.Date;
import java.util.List;

public interface OrderService {

    IPage<LoopOrder> page(IPage toIPage, LoopOrderQuery query);

    void save(Company company, LoopOrder order);

    void delete(String[] ids);

    void submit(String[] ids);

    void pass(String[] ids);

    void refuse(String[] ids, String reason);

    void start(String[] ids);

    void designate(List<LoopProcess> list);

    LoopOrder details(String id);

    List<LoopProcess> task(String id);

    void accept(String[] ids);

    void finish(String[] ids, Boolean sendMsg);

    IPage myTask(IPage toIPage, LoopProcessQuery query);

    void postpone(String id, Date endTime);

    void endCooperation(String[] ids, String r);

    void toDeal(String[] ids);

    OrderModel statistics(Date start, Date to);

    void activeTaxCategoriesAndCycle(String orderId, List<String> taxCategoriesAndCycles);

    LoopOrder findById(String orderId);

}
